var spider = require('../../dao/node.spider');
var cheerio = require('cheerio');
var url_node = require('url');
var Iconv = require('iconv-lite');
var pinyin = require('node-pinyin');
var insertDB = require('../../dao/insert.db');
var utils = require('../../dao/utils');
var request = require('request');
var fs = require('fs');

var url = "http://campus.changyou.com/recruitment/develop.shtml";


module.exports = function (callback) {
    get(url, callback);
};


function get(url, callback) {
    request({ url: url, encoding: null }, function (err, res, body) {

        var urlObj = url_node.parse(url);
        var protocol = urlObj.protocol;
        var hostname = urlObj.hostname;

        var host = protocol + "//" + hostname;

        var res;
        try {
            res = body.toString('utf-8');
        } catch (e) {


        }
        // console.log(res);

        var $ = cheerio.load(res);

        var urls = $(".m-sidebar .subnav a");

        for (var i = 0; i < urls.length; i++) {
            var item = urls.eq(i);

            var _url = host + item.attr('href');

            getDetail(_url);
        }

        setTimeout(()=>{
            callback(null,'');
            callback =function(){};
        },2000);


    });
}

function getDetail(url) {
    request({ url: url, encoding: null }, function (err, res, body) {
        var res;
        try {
            res = body.toString('utf-8');
        } catch (e) {


        }
        // console.log(res);

        var $ = cheerio.load(res);


        var box = $('.column-develop .job-title');

        var content = $(".job #ystem-list .ystem-list");

        for (var t = 0; t < box.length; t++) {

            var txtEle = content.eq(t).find('.ystem-txt .ystem-p');

            var l = txtEle.eq(-1).find('p').eq(-1).text();

            var des = '';

            for (var j = 0; j < txtEle.length - 1; j++) {
                des += txtEle.eq(j).text();
            }

            var data = {
                "url": url,  // jd详情页的地址
                'edu': '', // 最低学历
                'exp': [], // 所需工作经验，比如[3,5]表示3到5年,[3]表示3年，[]表示无经验要求
                'name': box.eq(t).text(), // 职位名称*
                'date': '', // 职位发布日期，字符串形式即可，后期统一转换
                'lang': '', // 对语言的要求
                'place': '', // 办公具体地址
                'major': '', // 专业要求
                'count': '', // 招聘数量
                'salary': [], // 薪资待遇，[5000,8000]表示月薪5到8千，[4000]表示4千，[]表示没有写明
                'toSchool': true, // 是否是面向校园招聘，本次官网抓取一律都是校园招聘，所以此处都是True
                'welfare': [], // 福利待遇，比如五险一金、十三薪之类的，保存成数组
                'funType': '', // 职能类型，比如证券经纪人是证券/期货/外汇经纪人
                'company': '北京畅游天下网络技术有限公司', // 企业名称
                'location': l, // 所在城市
                'industry': '',// 企业所在行业
                'keywords': [], // 此岗位的搜索关键字 
                'platform': 'offical',// 针对官网抓取时此处一律保存为offical
                'searchKeyword': '',// 搜索的关键字，由于是官网抓取所以此处一律为空字符串
                'description': des,// 职位的详细描述，包括职责、要求之类的
                'subIndustry': '',// 一律为空字符串
                'stime': new Date() // 抓取时间
            };

            insertDB(data);
        }


    });
}